package com.hrh.selectsystem.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hrh.selectsystem.model.dto.matchResult.MatchRecordAddRequest;
import com.hrh.selectsystem.model.dto.matchResult.MatchRecordQueryRequest;
import com.hrh.selectsystem.model.entity.MatchResult;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hrh.selectsystem.model.entity.Mentor;
import com.hrh.selectsystem.model.vo.MatchRecordQueryVO;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
* @author hetongxue
* @description 针对表【match_result(匹配结果)】的数据库操作Service
* @createDate 2024-10-26 14:06:05
*/
public interface MatchResultService extends IService<MatchResult> {

    /**
     * 提交选择信息
     * @param roundNumber
     * @param matchRecordAddList
     * @param mentorId
     * @return
     */
    Boolean submitChoice(List<MatchRecordAddRequest> matchRecordAddList, Long mentorId, Integer roundNumber);

    /**
     * 获取学生已匹配的导师
     * @param studentId
     * @return
     */
    Mentor getAcceptedMentor(Long studentId);


    /**
     * 分页获取学生已匹配的导师
     * @param matchRecordQueryRequest
     * @param current
     * @param size
     * @return
     */
    Page<MatchRecordQueryVO> listMatchRecordByPage(MatchRecordQueryRequest matchRecordQueryRequest, long current, long size);

    /**
     * 强制匹配
     * @param studentId
     * @param mentorId
     * @return
     */
    boolean forceMatch(long studentId, long mentorId);

}
